<?php 
/**
 *  Por Federico Pisarello - SisDev Software (c) 2013 - Buenos Aires, Argentina.
 * 	fpisarello@sisdevsoft.com
 */

require("includes/funciones.inc.php");

session_start();
if(!isset($_SESSION['nombreUsuario']))
	exit();

function searchABMSucursales()
{
	require("includes/constants.php");
	require("includes/datatables_db/Datatables.php");
	
	$datatables = new Datatables();
	
	$datatables
			->select('idSucursal, descripcion, codSucursal')
			->from('sucursales')
			->add_column('edit', '<img src="images/details_open.png">');

	return $datatables->generate();	
}

function addOrEdit()
{
	require("includes/constants.php");

	$DB = NewADOConnection('mysqlt');
	$DB->Connect();
	$DB->Execute("SET NAMES utf8;");
	//$DB->debug=true;

	$DB->StartTrans(); // start transaction
		
	if(!isset($_REQUEST["idSucursal"])){			
		$strSQL = "INSERT INTO sucursales ( ";
		$strSQL .= "	descripcion, ";
		$strSQL .= "	codSucursal ";
		$strSQL .= "	) VALUES ( ";
		$strSQL .= "	'".mb_strtoupper($_REQUEST["descripcion"], "UTF-8")."', ";
		$strSQL .= "	'".$_REQUEST["codSucursal"]."' ";
		$strSQL .= "	)";
		
		$DB->Execute($strSQL);
		
		$insert_ID = $DB->Insert_ID();
				
		$rsComprobantes = $DB->Execute("SELECT * FROM tipo_comprobantes WHERE idTipoComprobante IN ($docFactura, $docNCredito, $docNDebito)");
		$arrLetrasComprobante = array($ltrFacturaA, $ltrFacturaB, $ltrFacturaE);
		while(!$rsComprobantes->EOF){
			foreach ($arrLetrasComprobante as $ltr) {
				$strSQL = "INSERT INTO tipo_comprobantes_numeros (";
				$strSQL .= "	idTipoComprobante, ";
				$strSQL .= "	idSucursal, ";
				$strSQL .= "	ltr, ";
				$strSQL .= "	numero ";
				$strSQL .= "	) VALUES ( ";
				$strSQL .= "	'".$rsComprobantes->fields('idTipoComprobante')."', ";
				$strSQL .= "	'".$insert_ID."', ";
				$strSQL .= "	'".$ltr."', ";
				$strSQL .= "	'0' ";
				$strSQL .= "	)";

				$DB->Execute($strSQL);
			}
						
			$rsComprobantes->MoveNext();
		}
	}
	else{
		$strSQL = "UPDATE sucursales SET ";
		$strSQL .= "	descripcion = '".mb_strtoupper($_REQUEST["descripcion"], "UTF-8")."', ";
		$strSQL .= "	codSucursal = '".$_REQUEST["codSucursal"]."'";
		$strSQL .= " WHERE idSucursal = ". $_REQUEST["idSucursal"];
		
		$DB->Execute($strSQL);
	}
	
	if (!$DB->CompleteTrans())
	{
		$arrJSON->status = "ERROR";
		$arrJSON->msg = "Error al Grabar la Sucursal";
	}
	else
	{
		$arrJSON->status = "OK";
		$arrJSON->msg = "La Sucursal fue Guardada con Exito";
	}	
	return json_encode($arrJSON);
}

function editSucursal()
{
	require("includes/constants.php");
	
	$mcrypt = new MCrypt();
	
	$DB = NewADOConnection('mysqlt');
	$DB->Connect();
	$DB->Execute("SET NAMES utf8;");
	//$DB->debug=true;
	
	$rsSucrusal = $DB->Execute("SELECT * FROM sucursales WHERE idSucursal = " . $_REQUEST["idSucursal"]); // execute query
						
	if(!$rsSucrusal->EOF){
		$joSucursal->data['descripcion'] = $rsSucrusal->fields("descripcion");
		$joSucursal->data['codSucursal'] = $rsSucrusal->fields("codSucursal");
		
		return json_encode($joSucursal->data);
	}
	else
		return json_encode(array());
}

function searchSucursalDetalle()
{
	require("includes/constants.php");
	
	$DB = NewADOConnection('mysqlt');
	$DB->Connect();
	$DB->Execute("SET NAMES utf8;");
	//$DB->debug=true;
	
	$strSQL = "SELECT * FROM tipo_comprobantes_numeros tcn
				INNER JOIN tipo_comprobantes tc ON tcn.idTipoComprobante = tc.idTipoComprobante
				WHERE idSucursal = ".$_REQUEST["idSucursal"];
	
	$rsNumeros = $DB->Execute($strSQL);
	
	if($rsNumeros->EOF)
		return "";
	
	$strOutput = "<tr><td>Comprobante</td><td>Letra</td><td>Numero</td></tr>";
	
	while(!$rsNumeros->EOF){
		$strOutput .= "<tr><td>".$rsNumeros->fields("descripcion")."</td><td>".$rsNumeros->fields("ltr")."</td><td>".substr("00000000".$rsNumeros->fields("numero"),-8)."</td></tr>";
		$rsNumeros->MoveNext();
	}
	
	return $strOutput;
}

switch($_REQUEST['accion'])
{
	case "EDIT":
		echo editSucursal();
		break;
	case "search":
		echo searchABMSucursales();
		break;
	case "addOrEdit":
		echo addOrEdit();
		break;
	case "searchSucursalDetalle":
		echo searchSucursalDetalle();
		break;		
}
?>
